package com.vortex.cloud.sample.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.vortex.cloud.sample.domain.TaskUser;
import com.vortex.cloud.sample.dto.TaskUserDTO;
import com.vortex.cloud.sample.dto.TaskUserQueryDTO;
import com.vortex.cloud.sample.vo.TaskUserVo;
import com.vortex.cloud.vfs.lite.base.dto.DataStoreDTO;
import com.vortex.cloud.vfs.lite.base.dto.RestResultDTO;
import org.springframework.data.domain.Pageable;

import java.util.Set;

/**
 * @author 王林
 * @version 1.0
 * @date 2021-10-13 周三
 * @time 15:02
 * @description
 */
public interface TaskUserService extends IService<TaskUser> {

    /**
     * @Description: 新增用户
     * @Param: [tenantId, dto]
     * @return: void
     * @Author: 王林
     * @Date: 2021/10/13
     */
    RestResultDTO<String> save(String tenantId, TaskUserDTO dto);

    /**
     * @Description: 更新用户
     * @Param: [tenantId, dto]
     * @return: com.vortex.cloud.vfs.lite.base.dto.RestResultDTO<java.lang.String>
     * @Author: 王林
     * @Date: 2021/10/14
     */
    RestResultDTO<String> update(String id, TaskUserDTO dto);

    /**
     * @Description: 删除
     * @Param: [ids]
     * @return: void
     * @Author: 王林
     * @Date: 2021/10/14
     */
    void delete(Set<String> ids);

    /**
     * @Description: 分页
     * @Param: [tenantId, pageable, params]
     * @return: com.vortex.cloud.vfs.lite.base.dto.DataStoreDTO<com.vortex.cloud.sample.vo.TaskUserVo>
     * @Author: 王林
     * @Date: 2021/10/14
     */
    DataStoreDTO<TaskUserVo> page(String tenantId, Pageable pageable, TaskUserQueryDTO params);


    DataStoreDTO<TaskUserVo> listPage(Pageable pageable, TaskUserQueryDTO params);

    /**
     * @Description: 根据id 获取用户信息
     * @Param: [userId]
     * @return: com.vortex.cloud.sample.vo.TaskUserVo
     * @Author: 王林
     * @Date: 2021/10/14
     */
    TaskUserVo getInfoById(String userId);


}
